AIR中使用SQLite新手入门

Categories: 垃圾山; Tagged with: ; @ September 28th, 2008 10:24

[小站博客均为原创, 转载请保留以下信息:

作者:http://liguoliang.com 欢迎访问:Adobe上海用户组: http://riashanghai.com ]

关于SQLite的介绍: http://www.ibm.com/developerworks/cn/opensource/os-sqlite/

1. 确定连接模式

首先要确定连接模式, 是asynchronous[异步], 还是synchronous[同步].

异步执行方式: 运行操作数据库的指令, 数据库在后台运行, 在操作结束或失败后会dispatch一个Event,由该Event激发后续代码继续运行.异步方式有一个明显的好处: 数据库的操作是在后台运行的, 而与此同时,你的主程序代码可同时运行. 更为重要的是, 你不能因为数据库操作没有结束而冻结用户窗口.

从概念上来讲, 使用同步方式要比异步方式简单一些, 因为同步方式的代码可以按照一个次序进行, 而异步方式主要通过EventListener.

同步执行方式: 除了异步执行方式之外, Adobe AIR 也支持同步方式, 但是对数据库的操作不在后台运行, 而是使用与主程序同一个线程.

每种连接方式都各有所长, 下面以asynchronous方式讲述AIR中使用AS对SQLite进行操作:

2. 具体代码:

1.连接数据库:

   1. /**
   2.  * 建立一个只读连接.以检测数据库连接是否正常.
   3.  * openAsync的openmodel参数默认为creat,即:如果不指定具体openmodel的话,
即使没有数据库,也会建立.
   4.  */
   5. private function init():void {
   6.     connReadOnly.addEventListener(SQLEvent.OPEN,connToDBSuccess);
   7.     connReadOnly.addEventListener(SQLErrorEvent.ERROR,connToDBFail);
   8.     connReadOnly.openAsync(Connection.dbFile,SQLMode.READ);
   9. }
  10.
  11. /**
  12.  * 数据库存在并连接成功的响应函数
  13.  */
  14. private function connToDBSuccess(event:SQLEvent):void {
  15.     LogUtils.defaultLog.info("DataBase Connected");
  16. }
  17.
  18. /**
  19.  * 在数据库连接出错时运行
  20.  */
  21. private function connToDBFail(event:SQLErrorEvent):void {
  22.     LogUtils.defaultLog.fatal(event.error.message);
  23. }

待续……

<->



// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.